Telephone numbers can be expressed as a local number, a long distance number, or as an international number. When telephone numbers are entered into a computer system, such telephone numbers need not be “dialable numbers” (i.e., telephone numbers that enable a caller to successfully connect to the purported destination associated with the telephone number). However, in the context of a customer relations management (CRM) system, for example, telephone numbers stored in such a CRM system should enable a caller to be successfully connected to the party (e.g., a customer or employee) associated with the telephone number, without the need for the caller to manipulate the telephone number.
Some computer systems (e.g., CRM systems) store millions to tens-of-millions of telephone numbers. Of course, not all of these numbers are entered into the computer system (e.g., a CRM database) by a single person, a single group of people, or even at a single location. Thus, these telephone numbers may be entered in many different formats. For example, various users will employ different delimiters (e.g., periods, hyphens, parenthesis) to separate the different parts of a telephone number.
Not only will these telephone numbers be entered in different formats, a large percentage of them may be incorrect (due to user entry errors or other errors) or incomplete (missing certain information necessary to enable the telephone number to be dialed from certain locations).
Also, there is typically a large gap (temporally and geographically) between the entry of a telephone number and the actual use of a telephone number. For example, a telephone number might be entered into a computer system by a first user in the United States. Days, weeks, months, or even years later, a second user in France may retrieve the telephone number from the computer system and try to dial the telephone number. If the telephone number is incorrect, the first user may not be reachable in order to provide a correct telephone number.
In the field of computer integrated telephony (e.g., digital private branch exchange (PBX)), some digital PBX systems attempt to verify telephone numbers in a database to ensure that the telephone numbers are dialable. However, among other infirmities these systems perform such verification after the telephone numbers are entered into the database, at a point when the person that entered the telephone number is unavailable.
It is appreciated that “telephone number normalization” is sometimes employed to introduce a consistent format in which telephone numbers are expressed. Telephone number normalization is the translation of telephone numbers that are entered in various formats into a single standard format. One example of telephone normalization is the “international common format.” However, in addition to the aforementioned difficulties, the mere fact that a telephone number is formatted according to a telephone number normalization rule does not make the telephone number automatically dialable from a given geographic location. A caller from a particular location may need to add digits to, or subtract digits from or otherwise reformat a telephone number to successfully connect to the destination associated with the telephone number. In this regard, many people do not know or fail to understand how to dial telephone numbers outside of their region to enable successful connections. These various issues, combined with the sheer number of telephone numbers often stored in telephone number databases, present a formidable challenge to the computer system's users to actually be successfully connected to the party associated with a given telephone number. Thus, there is a need for a more effective and reliable system for storing and accessing telephone numbers in computer systems.